package com.aorise.mapper.diagnosis;

import com.aorise.model.diagnosis.*;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Map;

/**
* @Author:cat
* @Description 诊断任务mybatis接口类
* @Date:Created in 2019-06-24
* @Modified By:
*/
@Mapper
@Component(value = "diagnosisPlanMapper")
public interface DiagnosisPlanMapper {

    /**
     * @Author:cat
     * @Description 查询所有自动诊断任务信息
     * @params: map 查询条件Map
     * @Date:2019-06-24
     * @Return: List<DiagnosisPlanModel> 诊断任务信息集合
     * @Modified By:
     */
    List<DiagnosisPlanModel> getAllAutoDiagnosisPlan(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 根据条件查询诊断任务详情
     * @params: map 查询条件Map
     * @Date:2019-06-24
     * @Return: DiagnosisPlanModel 诊断任务信息
     * @Modified By:
     */
    DiagnosisPlanModel getDiagnosisByIdCreateUser(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 新增人工诊断任务信息
     * @params: diagnosisPlanAddVO 人工诊断任务信息
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer addArtificialDiagnosisPlan(DiagnosisPlanAddVO diagnosisPlanAddVO) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 新增自动诊断任务信息
     * @params: diagnosisPlanAddVO 自动诊断任务信息
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer addAutoDiagnosisPlan(DiagnosisPlanAddVO diagnosisPlanAddVO) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 更新人工诊断任务信息
     * @params: diagnosisPlanEditVO 人工诊断任务信息
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer updateArtificialDiagnosisPlan(DiagnosisPlanEditVO diagnosisPlanEditVO) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 更新自动诊断任务信息
     * @params: diagnosisPlanEditVO 自动诊断任务信息
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer updateAutoDiagnosisPlan(DiagnosisPlanEditVO diagnosisPlanEditVO) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 删除自动诊断任务信息
     * @params: map 查询条件Map
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer deleteDiagnosisPlan(Map<String, Object> map) throws DataAccessException;

    /**
     * @Author:cat
     * @Description 开启关闭自动诊断任务信息
     * @params: map 查询条件Map
     * @Date:2019-06-24
     * @Return: Integer 影响行数
     * @Modified By:
     */
    Integer updateAutoDiagnosisPlanIsOpen(Map<String, Object> map) throws DataAccessException;

}